<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jsx语法规则</title>
    <style>
        .title {
            background-color: blue;
            width: 200px;
        }
    </style>
</head>

<body>
    <!--准备好一个容器-->
    <div id="test"></div>
    <!--引入核心库-->
    <script src="../js/react.development.js"></script>
    <!--引入react-dom支持react操纵dom-->
    <script src="../js/react-dom.development.js"></script>
    <!--引入babel用于将jsx转为js-->
    <script src="../js/babel.min.js"></script>

    <script type="text/babel">
        const myId = 'xinYuan'
        const myData = 'hello , xinyuan'
        //1.创建虚拟dom
        const VDOM = (/*虚拟dom创建完成*/
            <div>
                <h2 className="title" id={myId.toLowerCase()}>
                    <span style={{ color: 'white', fontSize: '29px' }}>{myData.toLowerCase()}</span>
                </h2>
                <h2 className="title" id={myId.toUpperCase()}>
                    <span style={{ color: 'white', fontSize: '29px' }}>{myData.toLowerCase()}</span>
                </h2>
                <input type="text" />
            </div>
        )
        //2.渲染虚拟dom到页面
        ReactDOM.render(VDOM, document.getElementById('test'))
        /*
            语法规则
            1.定义虚拟dom时,不要写引号.
            2.标签中混入js表达式时用{}
            3.样式类名指定不要用class要用className
            4.内联样式要用style={{key:value}}的形式去写 
            5.虚拟dom必须只有一个根标签
            6.标签必须闭合
            7.标签首字母 
            (1)若小写字母开头 则将该标签转为html中同名元素若该标签无同名元素则报错
            (2)若大写字母开头 react就去渲染对应组件 若组件没有定义则报错  
        */
    </script>

</body>

</html>